package com.arpa.oms.service;

import com.arpa.oms.domain.dto.OmsPurchaseReturnDTO;
import com.arpa.oms.domain.entity.OmsPurchaseReturn;
import com.arpa.oms.domain.vo.OmsPurchaseReturnVO;
import com.baomidou.mybatisplus.extension.service.IService;

import javax.validation.Valid;
import java.util.List;

/**
 * <p>
 * OMS采购退货单 服务类
 * </p>
 *
 * @author LEO
 * @since 2020-11-17
 */
public interface IOmsPurchaseReturnService extends IService<OmsPurchaseReturn> {

    /**
     * 保存
     * @param entity
     * @return
     */
    @Override
    boolean save(OmsPurchaseReturn entity);



    void create(@Valid OmsPurchaseReturn entity);


    void submit(@Valid  OmsPurchaseReturn entity);

    /**
     * 根据code作废采购退货单
     * @param code
     */
    void annul(String code);
    /**
     * 根据code更新实体
     * @param entity
     * @return
     */
    int updateByCode(OmsPurchaseReturn entity);

    /**
     * 查询列表
     * @param omsPurchaseReturnDTO
     * @return
     */
    List<OmsPurchaseReturnVO> queryList(OmsPurchaseReturnDTO omsPurchaseReturnDTO);

    /**
     * 查询合计,包含总数
     * @param omsPurchaseReturnDTO
     * @return
     */
    OmsPurchaseReturnVO queryListSum(OmsPurchaseReturnDTO omsPurchaseReturnDTO);
    OmsPurchaseReturnVO getByCode(String code);

    OmsPurchaseReturn getOneByCode(String code);


    void verify(String code,String status,String opinion);
}
